Bytecode-based Analysis for Increasing Class-Component Testability

نویسندگان

  • Supaporn Kansomkeat
  • Jeff Offutt
  • Wanchai Rivepiboon
چکیده

Software testing attempts to reveal software faults by executing the program on input values and comparing the outputs from the execution with expected outputs. Testing software is easier when testability is high, so increasing testability allows the detection of faults to be done more efficiently. Component-based software is often constructed from third party software components. When this is done, the reused components must be retested in the new environment to ensure that they integrate correctly into the new context. However, the “black box” nature of reused components, although offering great benefits otherwise, implicitly reduces their testability. Therefore, it is helpful to increase a component’s testability before it is reused. To increase a component’s testability, we need information that can be gained through program analysis. A crucial property of reused software components is that the source is not available, making program analysis significantly more difficult. This research addresses this problem by performing program analysis at the bytecode level. This bytecode analysis technique increases component testability without requiring access to the source. A component’s bytecode is analyzed to gather control and data flow information, which is then used to obtain definition and use information of method and class variables. Then, the definition and use information is used to increase component testability during component integration testing. We have implemented the technique and present empirical results for some components, demonstrating that the method is feasible and practical.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Analysis for Class-Component Testability

Testability is a quality factor used to predict the amount of effort required for software testing and to indicate the difficulty of revealing faults. Also, it can be used to estimate the difficulty of software testing. This paper presents a quantitative testability analysis method for a software component that can be used when the source program is not available, but the bytecode is (as in Jav...

متن کامل

Class-Component Testability Analysis

Testability is a quality factor used to predict the amount of effort required for software testing and to indicate the difficulty of revealing faults. This paper presents a quantitative testability analysis method for a software component that can be used when the source program is not available, but the bytecode is (as in Java .class files). This process analyzes the testability of each locati...

متن کامل

A JVM-based Testing Harness for Improving Component Testability

Software testing is a critical activity in increasing our confidence of a system under test and improving its quality. The key idea for testing a software application is to minimize the number of faults found in the system. The higher the testability of software, the better our chances to reveal these faults. We introduce a new type of testing harness called GannonJVM that improves the testabil...

متن کامل

Increasing Class-Component Testability

Testability has many effects on software. In general, increasing testability makes detecting faults easier. However, increasing testability of third party software components is difficult because the source is usually not available. This paper introduces a method to increase component testability. This method helps a user test when the component is reused during integration. First, we analyze a...

متن کامل

Bytecode Testability Transformation

Bytecode as produced by modern programming languages is well suited for search-based testing: Different languages compile to the same bytecode, bytecode is available also for third party libraries, all predicates are atomic and side-effect free, and instrumentation can be performed without recompilation. However, bytecode is also susceptible to the flag problem; in fact, regular source code sta...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010